// pages/worker/worker.ts

// 定义工人信息接口
interface WorkerInfo {
  id?: number;
  name?: string;
  experience?: string;
  tags?: string[];
}

Page({

  /**
   * 页面的初始数据
   */
  data: {
    workerId: 0,
    workerInfo: {} as WorkerInfo,
    workerImages: [] as string[],
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取传递的参数
    if (options.workerId) {
      this.setData({
        workerId: parseInt(options.workerId)
      });
    }
    
    // 如果有传递工人名称，则直接使用
    if (options.workerName) {
      const workerInfo = this.data.workerInfo || {};
      workerInfo.name = decodeURIComponent(options.workerName);
      this.setData({ workerInfo });
    }

    // 加载工人信息
    this.loadWorkerData();
  },

  /**
   * 加载工人数据
   */
  loadWorkerData() {
    // 保留已有的工人名称（如果有的话）
    const currentName = this.data.workerInfo && this.data.workerInfo.name ? this.data.workerInfo.name : undefined;
    
    // 模拟工人信息数据
    const workerInfo: WorkerInfo = {
      id: this.data.workerId || 1,
      name: currentName || `工人${this.data.workerId || 1}`,
      experience: '5年',
      tags: ['机械维修', '家电维修', '水电维修']
    };

    // 工人详情图片
    const workerImages = [
      'https://dtwx.net.cn:8085/static/worker0.png',
      'https://dtwx.net.cn:8085/static/worker1.png',
      'https://dtwx.net.cn:8085/static/worker2.png',
      'https://dtwx.net.cn:8085/static/worker3.png',
      'https://dtwx.net.cn:8085/static/worker0.png',
      'https://dtwx.net.cn:8085/static/worker1.png',
      'https://dtwx.net.cn:8085/static/worker2.png',
      'https://dtwx.net.cn:8085/static/worker3.png'
    ];

    this.setData({
      workerInfo,
      workerImages
    });
  },

  /**
   * 返回上一页
   */
  goBack() {
    wx.navigateBack({
      fail: () => {
        wx.switchTab({
          url: '/pages/index/index'
        });
      }
    });
  },

  /**
   * 预览图片
   */
  previewImage(e: WechatMiniprogram.TouchEvent) {
    const src = e.currentTarget.dataset.src;
    wx.previewImage({
      current: src,
      urls: this.data.workerImages
    });
  },

  /**
   * 查看最新动态
   */
  viewNews() {
    wx.showToast({
      title: '暂无最新动态',
      icon: 'none'
    });
  },

  /**
   * 开始聊天
   */
  startChat() {
    const workerId = this.data.workerInfo && this.data.workerInfo.id ? this.data.workerInfo.id : this.data.workerId;
    const workerName = this.data.workerInfo && this.data.workerInfo.name ? this.data.workerInfo.name : `工人${this.data.workerId}`;
    
    wx.navigateTo({
      url: `/pages/chat/chat?workerId=${workerId}&workerName=${workerName}`
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 由于使用了自定义导航栏，不需要设置导航栏标题
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    // 重新加载工人数据
    this.loadWorkerData();
    setTimeout(() => {
      wx.stopPullDownRefresh();
    }, 1000);
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    const workerId = this.data.workerInfo && this.data.workerInfo.id ? this.data.workerInfo.id : this.data.workerId;
    const workerName = this.data.workerInfo && this.data.workerInfo.name ? this.data.workerInfo.name : `工人${this.data.workerId}`;
    
    return {
      title: `${workerName}的工人详情`,
      path: `/pages/worker/worker?workerId=${workerId}`,
      imageUrl: '/images/worker.png'
    };
  }
})